package com.brutal.minigames.conquest;

public enum Troop {
	SCOUT(6, 100, 100, 1, 25),
	FOOT_SOLDIER(4, 100, 300, 1, 50),
	HALBERDIER(4, 200, 200, 2, 75),
	ARCHER(3, 100, 100, 6, 100),
	MAGE(4, 200, 100, 4, 100),
	KNIGHT(4, 300, 300, 1, 100),
	CHAMPION(4, 400, 500, 1, 200);

	private final int movement;
	private final int damage;
	private final int health;
	private final int range;
	private final int cost;

	private Troop(final int movement, final int damage, final int health,
			final int range, final int cost) {
		this.movement = movement;
		this.damage = damage;
		this.health = health;
		this.range = range;
		this.cost = cost;
	}

	/*
	 * This determines the number of squares that a troop can move in one turn.
	 * A troop may move in any direction, including diagonally.
	 */
	public int getMovement() {
		return movement;
	}

	/*
	 * This displays the amount of damage that the troop does in combat. When
	 * the troop attacks, they will inflict an amount of damage, equal to their
	 * Damage attribute, to their opponent's Health.
	 */
	public int getDamage() {
		return damage;
	}

	/*
	 * This is your unit's life points, and it indicates how much damage your
	 * unit can take before it dies.
	 */
	public int getHealth() {
		return health;
	}

	/*
	 * This shows the attack range of your troop. If an enemy troop is within
	 * this number of squares of your troop, you may attack them in your Attack
	 * phase.
	 */
	public int getRange() {
		return range;
	}

	/*
	 * The better the unit, the greater its cost. When recruiting your forces,
	 * you will have 1000 resources with which you will construct your squad.
	 */
	public int getCost() {
		return cost;
	}
}